// var n;
// var r = cc._decorator;
// var c = r.ccclass;
// var l =
//     (r.property,
//     (function (e) {
//         function t() {
//             return (null !== e && e.apply(this, arguments)) || this;
//         }
//         __extends(t, e);
//         t.prototype.start = function () {
//             var e = this;
//             this.node.on(
//                 cc.Node.EventType.TOUCH_START,
//                 function () {
//                     e.node.stopAllActions();
//                     e.node.runAction(cc.scaleTo(0.1, 0.9));
//                 },
//                 this
//             );
//             this.node.on(
//                 cc.Node.EventType.TOUCH_END,
//                 function () {
//                     e.node.runAction(cc.scaleTo(0.1, 1));
//                 },
//                 this
//             );
//             this.node.on(
//                 cc.Node.EventType.TOUCH_CANCEL,
//                 function () {
//                     e.node.runAction(cc.scaleTo(0.1, 1));
//                 },
//                 this
//             );
//         };
//         return __decorate([c], t);
//     })(cc.Component));
// exports.default = l;


const { ccclass, property } = cc._decorator;

/**
 * TouchScaleComponent 类，用于处理节点的触摸缩放效果
 */
@ccclass
class TouchScaleComponent extends cc.Component {
    
    /**
     * 开始函数，处理触摸事件的绑定
     */
    start() {
        // 监听触摸开始事件
        this.node.on(cc.Node.EventType.TOUCH_START, this.handle_event_touch_start, this);

        // 监听触摸结束事件
        this.node.on(cc.Node.EventType.TOUCH_END, this.handle_event_touch_end, this);

        // 监听触摸取消事件
        this.node.on(cc.Node.EventType.TOUCH_CANCEL, this.handle_event_touch_cancel, this);
    }

    /**
     * 触摸开始事件的回调函数，使节点缩放到0.9
     */
    handle_event_touch_start() {
        this.node.stopAllActions();
        this.node.runAction(cc.scaleTo(0.1, 0.9));
    }

    /**
     * 触摸结束事件的回调函数，使节点恢复缩放到1
     */
    handle_event_touch_end() {
        this.node.runAction(cc.scaleTo(0.1, 1));
    }

    /**
     * 触摸取消事件的回调函数，使节点恢复缩放到1
     */
    handle_event_touch_cancel() {
        this.node.runAction(cc.scaleTo(0.1, 1));
    }
}

export default TouchScaleComponent;
